1. Field of the Invention
The present invention generally relates to computer hardware. More specifically, the present invention relates to read completion data management in a processing unit.
2. Description of the Related Art
A modern computer system may be implemented with a processor that executes many operations in parallel known as a parallel processing unit (PPU). PPUs are generally managed by one or more engines or clients, that perform operations such as memory management, graphics display, instruction fetching, encryption, and other operations.
As clients carry out operations, they make requests to read data from parallel processor (PP) memory, which is typically implemented as multiple memory units. As a result, when a read request is made, the requested data may be stored across different memory units in the form of data fragments. These data fragments may not be returned in the proper order, however, and reassembly may be required before the data can be returned to the client. Complications arise when multiple clients request data at the same time because fragments from different clients may be returned interleaved.
Further complications arise when multiple clients make multiple requests for data. Each request may require data reassembly as before, and the requests may be completed in a different order than the requests were made. Some clients, known as in-order clients, require data to be returned in the order the request were made.